The reception condition of a receiver often becomes unstable due to the environment, or the like, during digital broadcasting; therefore, a transmission system called a data carousel system (DSM-CC: Digital Storage Media Command and Control) is used for transmitting data, such as digital content. With a data carousel system, the same data is repeatedly transmitted during a predetermined period of time in order to improve the accuracy with which a receiver side receives the data.
A brief explanation is given of the data carousel system. A transmitter divides data into variable-length transmission data blocks, which are called DDBs (Download Data Block), and transmits them as a unit, called a TS (Transport Stream), to a receiver. The receiver side reconfigures the DDBs from the TS, which has been received from the transmitter, and arranges the configured DDBs in order so that the original data is restored.
For example, if the original data is divided into 10 DDBs (d1, d2, d3, . . . , d10), the transmitter sequentially transmits the DDBs from d1 to d10. Then, if a repetition time period specified as a data transmission period has not been exceeded, the transmitter retransmits the DDBs from d1 to d10, starting from d1. If the receiver has received the DDBs that were received from the transmitter during the first transmission except for d1, the receiver receives d1 out of the DDBs that are received from the transmitter during the second transmission so that the original data can be restored. The data transmission from the transmitter to the receiver continues during the above-described repetition time period. Thus, even if the receiver is not able to receive all the DDBs during the second transmission so that the original data is restored, the receiver has the chance to obtain all the DDBs during a third or fourth transmission. Thus, it is possible to improve the accuracy with which the receiver side acquires data.
However, the above-described data carousel system has a problem in that the time when the receiver side receives data may be delayed. For example, if the receiver was able to receive d1 to d9 out of the DDBs that were received from the transmitter during the first turn but was unable to receive d10, the receiver receives d1 to d9 again before receiving d10 during the second turn. Therefore, if the receiver can receive all the DDBs during the second turn and the original data is thus restored, it will take twice as long as it would take in a case where all the DDBs had been received during the first turn. Furthermore, if the receiver can receive all the DDBs during the third turn and the original data is thus restored, it will take three times as long as it would take in a case where all the DDBs had been received during the first turn.
As described above, with the data carousel system, as the reception condition of a receiver becomes worse, the number of times the transmission/reception of data is repeated between the transmitter and the receiver is increased, which results in a further delay in the time when the receiver side receives data.
Moreover, because the DDBs from d1 to d9 have already been received by the receiver, they are DDBs that are no longer necessary for restoring the original content. Nevertheless, with the data carousel system, the DDBs from d1 to d9 are retransmitted from the transmitter to the receiver, which results in a very inefficient process.
There is a disclosed technology in which redundant data, which is obtained by using an error-correcting code, is transmitted in the data carousel system so that data missing from the received data can be restored on a receiver side without having the data repeatedly transmitted (see Japanese Laid-open Patent Publication No. 2008-042534).
However, the technology for transmitting redundant data, which is obtained by using an error-correcting code, by using the data carousel system has a problem in that there is an increase in the unused portion of a transmitted DDB. FIG. 17 is a diagram that illustrates the problem with the conventional technology. For example, for redundancy that uses error-correcting codes, transmission data is divided into n block data that have the same size, and n+k coded data are generated (n and k are integers). For example, FIG. 17 illustrates a case where redundancy is applied to the transmission data that has a data size of 5000 bytes so that coded data of 8+2=10 are generated.
At that time, the size of each block data is 5000/8=625 bytes. If the size of a DDB in the data carousel system is 1000 bytes, only one block data can be contained in the DDB; therefore, the unused portion of 1000−625=375 bytes is generated in each DDB that has 1000 bytes. Because the total number of DDBs of the transmission data is 10, a total unused portion of 375×10=3750 bytes is generated in all of the DDBs of the transmission data.
The above-described problem is a common problem in data transmission technologies like the data carousel system in which data is divided and the divided data is contained in a transmission data block that has a predetermined size and is repeatedly transmitted during a predetermined period of time.